Memory system and operating method thereof

ABSTRACT

Embodiments of the present disclosure provide a memory system and an operating method thereof. A memory system includes a memory device and a memory controller. The memory controller is configured to create a bad memory area replacement table including state information of a bad memory area among a plurality of memory areas, add the state information of one or more runtime bad memory areas to the bad memory area replacement table when one or more runtime bad memory areas occur, and remap, based on the bad memory area replacement table, a bad sub-area included in a target memory area to a normal sub-area included in one of remaining bad memory areas other than the target bad memory area among the bad memory areas added to the bad memory area replacement table.

CROSS-REFERENCE TO RELATED APPLICATION

The present application claims priority under 35 U.S.C. 119(a) to Koreanpatent application number 10-2020-0155418, filed on Nov. 19, 2020, whichis incorporated herein by reference in its entirety.

BACKGROUND 1. Technical Field

Embodiments of the present application relate to a memory system and anoperating method thereof.

2. Related Art

A memory system includes a data storage device or a memory device thatstores data in response to a request from a host, such as a computer,servers, a smartphone, a tablet PC, or other electronic devices.Examples of the memory system may span from a traditionalmagnetic-disk-based hard disk drive (HDD) to a semiconductor-based datastorage device such as a solid state drive (SSD), a universal flashstorage device (UFS), or an embedded MMC (eMMC) device.

The memory system may further include a memory controller forcontrolling a memory device. The memory controller may receive a commandfrom the host and, on the basis of the received command, may execute thecommand or control read/write/erase operations on the memory devices inthe memory system. The memory controller may be used to execute firmwareoperations for performing a logical operation for controlling suchoperations.

Meanwhile, it may exist a defective area in which data is not normallyread or written in the memory device. In this case, the memorycontroller may determine the location of the defective area in thememory device and manage the defective area not to be accessed.

SUMMARY

Embodiments of the disclosure may provide a memory system and anoperating method thereof capable of minimizing the loss of storagecapacity by recycling defective or bad memory area.

In addition, embodiments of the disclosure may provide a memory systemand an operating method thereof capable of effectively managing the badmemory area generated during runtime.

In one aspect, embodiments of the disclosure may provide a memory systemincluding a memory device having a plurality of memory areas and amemory controller for communicating with the memory device andcontrolling the memory device.

Each of the plurality of memory areas may include N sub-areas (N is anatural number greater than or equal to 2). Each sub-area may be (i) abad sub-area with unrecoverable defects or (ii) a normal sub-area withno defects or with recoverable defects.

The memory controller may create a bad memory area replacement tableincluding state information of a bad memory area, which is a memory areaincluding at least one bad sub-area, among the plurality of memoryareas.

The memory controller may add, when at least one runtime bad memory areaamong the plurality of memory areas occurs, the state information of theone or more runtime bad memory areas to the bad memory area replacementtable.

The memory controller may remap, based on the bad memory areareplacement table, a bad sub-area included in one target memory areaamong the runtime bad memory areas added to the bad memory areareplacement table, to a normal sub-area included in one of remaining badmemory areas other than the target bad memory area, among the bad memoryareas added to the bad memory area replacement table.

In another aspect, embodiments of the disclosure may provide a method ofoperating a memory system including a memory device having a pluralityof memory areas.

Each of the plurality of memory areas may include N sub-areas (N is anatural number greater than or equal to 2). Each sub-area may be (i) abad sub-area with unrecoverable defects or (ii) a normal sub-area withno defects or with recoverable defects.

The operating method of the memory system may include creating a badmemory area replacement table including state information of a badmemory area, which is a memory area including at least one of the badsub-area, among the plurality of memory areas.

The method of operating the memory system may include adding, when atleast one runtime bad memory area among the plurality of memory areasoccurs, the state information of the one or more runtime bad memoryareas to the bad memory area replacement table.

The method of operating the memory system may include remapping, basedon the bad memory area replacement table, the bad sub-area included inone target memory area among the runtime bad memory areas added to thebad memory area replacement table to the normal sub-area included in oneof remaining bad memory areas other than the target bad memory areaamong the bad memory areas added to the bad memory area replacementtable.

In another aspect, embodiments of the disclosure may provide a method ofcreating a bad memory area replacement table in a memory systemincluding a memory device and a memory controller, the memory devicecomprising a plurality of memory areas, each memory area comprising Nsub-areas, N being a natural number greater than or equal to 2, eachsub-area being a bad sub-area having an unrecoverable defect or a normalsub-area having no defect or a recoverable defect.

The method of creating a bad memory area replacement table in a memorysystem may include checking, by the memory controller, a firmwareconfigured to manage the bad memory area replacement table.

The method of creating a bad memory area replacement table in a memorysystem may include determining whether the firmware has been updated.

The method of creating a bad memory area table in a memory system mayinclude creating the bad memory area replacement table in the event thatthe firmware has been updated and returning back to determining whetherthe firmware has been updated in the event that the firmware has notbeen updated.

The bad memory area replacement table may include state information on abad memory area among the plurality of memory areas.

According to some embodiments of the disclosure, the loss of storagecapacity can be minimized by recycling a defective or bad memory area.

Furthermore, some embodiments of the disclosure can effectively manage abad memory area generated during runtime.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram illustrating a configuration of a memorysystem according to an exemplary embodiment of the disclosed technology.

FIG. 2 is a block diagram schematically illustrating a memory deviceaccording to an exemplary embodiment of the disclosed technology.

FIG. 3 is a diagram illustrating a structure of word lines and bit linesof a memory device according to an exemplary embodiment of the disclosedtechnology.

FIG. 4 is a diagram illustrating a schematic structure of a memorysystem according to an exemplary embodiment of the present disclosure.

FIG. 5 is a flowchart illustrating an operation of a memory systemaccording to an exemplary embodiment of the present disclosure.

FIG. 6 is a diagram illustrating an exemplary structure of a memory areaaccording to embodiments of the present disclosure.

FIG. 7 is a flowchart illustrating an operation of creating a bad memoryarea replacement table by a memory system according to an exemplaryembodiment of the present disclosure.

FIG. 8 is a diagram illustrating an exemplary structure of a bad memoryarea replacement table according to an exemplary embodiment of thepresent disclosure.

FIG. 9 is a diagram illustrating an example for creating the bad memoryarea replacement table of FIG. 8.

FIG. 10 and FIG. 11 are diagrams illustrating an operation for addingstate information on the runtime bad memory area to the bad memory areareplacement table of FIG. 9.

FIG. 12 is a diagram illustrating an operation of remapping the badsub-area included in the target bad memory area added in FIG. 11.

FIG. 13 is a diagram illustrating an operation of deleting the stateinformation of the target bad memory area for which remapping has beencompleted in FIG. 12 from the bad memory area replacement table.

FIG. 14 is a diagram illustrating a method of operating a memory systemaccording to an exemplary embodiment of the present disclosure.

FIG. 15 is a diagram illustrating the configuration of a computingsystem according to an exemplary embodiment of the disclosed technology.

DETAILED DESCRIPTION

Hereinafter, embodiments of the present disclosure are described indetail with reference to the accompanying drawings. Throughout thespecification, reference to “an embodiment,” “another embodiment” or thelike does not necessarily refer to only one embodiment, and differentreferences to any such phrase do not necessarily refer to the sameembodiment(s). The term “embodiments” used herein does not necessarilyrefer to all embodiments.

FIG. 1 is a diagram illustrating a schematic configuration of a memorysystem 100 based on an exemplary embodiment of the disclosed technology.

In some implementations, the memory system 100 may include a memorydevice 110 configured to store data, and a memory controller 120configured to control the memory device 110.

The memory device 110 may include multiple memory blocks each includinga plurality of memory cells for storing data. The memory device 110 maybe configured to operate in response to control signals received fromthe memory controller 120. Operations of the memory device 110 mayinclude, for example, a read operation, a program operation (alsoreferred to as a “write operation”), an erasure operation, and the like.

The memory cells in the memory device 110 are used to store data and maybe arranged in a memory cell array. The memory cell array may be dividedinto memory blocks of memory cells and each block includes differentpages of memory cells. In memory designs such as NAND flash memorydevices, a page of memory cells is the smallest memory unit that can beprogrammed or written, and the data stored in memory cells can be erasedat the block level.

In some implementations, the memory device 110 may be implemented asvarious types, such as a double data rate synchronous dynamic randomaccess memory (DDR SDRAM), a low power double data rate4 (LPDDR4) SDRAM,a graphics double data rate (GDDR) SDRAM, a low power DDR (LPDDR), arambus dynamic random access memory (RDRAM), a NAND flash memory, avertical NAND flash memory, a NOR flash memory, a resistive randomaccess memory (RRAM), a phase-change random access memory (PRAM), amagnetoresistive random access memory (MRAM), a ferroelectric randomaccess memory (FRAM), or a spin transfer torque random access memory(STT-RAM).

The memory device 110 may be implemented in a three-dimensional arraystructure. Some embodiments of the disclosed technology are applicableto any type of flash memory devices having an electric charge storagelayer. In an implementation, the electric charge storage layer may beformed of a conductive material, and such an electric charge storagelayer can be referred to as a floating gate. In another implementation,the electric charge storage layer may be formed of an insulatingmaterial, and such a flash memory device can be referred to as a chargetrap flash (CTF).

The memory device 110 may be configured to receive a command and anaddress from the memory controller 120 to access an area of the memorycell array selected using the address. That is, the memory device 110may perform an operation corresponding to the received command on amemory area of the memory device having a physical address correspondingto the received address from the memory controller 120.

In some implementations, the memory device 110 may perform a programoperation, a read operation, an erasure operation, and the like. Duringa program operation, the memory device 110 may write data into an areaselected by an address. During a read operation, the memory device 110may read data from a memory area selected by an address. During anerasure operation, the memory device 110 may erase data stored in amemory area selected by an address.

The memory controller 120 may control write (program), read, erasure,and background operations that are performed on the memory device 110.The background operation may include, for example, operations that areimplemented to optimize the overall performance of the memory device110, such as a garbage collection (GC) operation, a wear leveling (WL)operation, and a bad block management (BBM) operation.

The memory controller 120 may control operations of the memory device110 at the request of a host. Alternatively, the memory controller 120may control the operations of the memory device 110 even in the absenceof request from the host when it performs such background operations ofthe memory device.

The memory controller 120 and the host may be separate devices. In someimplementations, the memory controller 120 and the host may beintegrated and implemented as a single device. In the followingdescription, the memory controller 120 and the host will be discussed asseparate devices as a not limiting example.

Referring to FIG. 1, the memory controller 120 may include a memoryinterface 122, a control circuit 123, and a host interface 121.

The host interface 121 may be configured to provide an interface forcommunication with the host.

When receiving a command from the host HOST, the control circuit 123 mayreceive the command through the host interface 121 and may perform anoperation in response to the received command.

The memory interface 122 may be directly or indirectly connected to thememory device 110 to provide an interface for communication with thememory device 110. That is, the memory interface 122 may be configuredto provide the memory device 110 and the memory controller 120 with aninterface for the memory controller 120 to perform memory operations inthe memory device 110 based on control signals and instructions from thecontrol circuit 123.

The control circuit 123 may be configured to control operations of thememory device 110 through the memory controller 120. For example, thecontrol circuit 123 may include a processor 124 and a working memory125. The control circuit 123 may further include an errordetection/correction circuit (ECC circuit) 126 and the like configuredto detect and correct errors.

The processor 124 may control the overall operation of the memorycontroller 120. The processor 124 may perform a logical operation. Theprocessor 124 may communicate with the host HOST through the hostinterface 121. The processor 124 may communicate with the memory device110 through the memory interface 122.

The processor 124 may be configured to perform operations associatedwith a flash translation layer (FTL) to effectively manage the memoryoperations in the memory system 100. The processor 124 may translate alogical block address (LBA) provided by the host into a physical blockaddress (PBA) through the FTL. The FTL may receive the LBA and translatethe LBA into the PBA by using a mapping table.

There are various address mapping methods which may be employed by theFTL, based on a mapping unit. Typical address mapping methods mayinclude a page mapping method, a block mapping method, and a hybridmapping method.

The processor 124 may be configured to randomize data received from thehost to write the randomized data to the memory cell array. For example,the processor 124 may randomize data received from the host by using arandomizing seed. The randomized data is provided to the memory device110 and written to the memory cell array.

The processor 124 may be configured to derandomize data received fromthe memory device 110 during a read operation. For example, theprocessor 124 may derandomize data received from the memory device 110by using a derandomizing seed. The derandomized data may be output tothe host HOST.

The processor 124 may execute firmware (FW) to control the operation ofthe memory controller 120. In other words, the processor 124 may controlthe overall operation of the memory controller 120 and, in order toperform a logical operation, may execute (drive) firmware loaded intothe working memory 125 during booting.

The term “firmware” may refer to a program or software stored in acertain nonvolatile memory and is executed by the processor 124 insidethe memory system 100.

In some implementations, the firmware may include various functionallayers. For example, the firmware may include at least one of a flashtranslation layer (FTL) configured to translate a logical address in thehost HOST requests to a physical address of the memory device 110, ahost interface layer (HIL) configured to interpret a command that thehost HOST issues to a data storage device such as the memory system 100and to deliver the command to the FTL, and a flash interface layer (FIL)configured to deliver a command issued by the FTL to the memory device110.

For example, the firmware may be stored in the memory device 110, andthen loaded into the working memory 125.

The working memory 125 may store firmware, program codes, commands, orpieces of data necessary to operate the memory controller 120. Theworking memory 125 may include, for example, at least one of a staticRAM (SRAM), a dynamic RAM (DRAM), and a synchronous RAM (SDRAM) as avolatile memory.

The error detection/correction circuit 126 may be configured to detectand correct one or more erroneous bits in the data by using an errordetection and correction code. In some implementations, the data that issubject to the error detection and correction may include data stored inthe working memory 125, and data retrieved from the memory device 110.

The error detection/correction circuit 126 may be implemented to decodedata by using the error correction code. The error detection/correctioncircuit 126 may be implemented by using various decoding schemes. Forexample, a decoder that performs nonsystematic code decoding or adecoder that performs systematic code decoding may be used.

In some implementations, the error detection/correction circuit 126 maydetect one or more erroneous bits on a sector basis. That is, each pieceof read data may include multiple sectors. In this disclosure, a sectormay refer to a data unit that is smaller than the read unit (e.g., page)of a flash memory. Sectors constituting each piece of read data may bemapped based on addresses.

In some implementations, the error detection/correction circuit 126 maycalculate a bit error rate (BER) and determine whether the number oferroneous bits in the data is within the error correction capabilitysector by sector. For example, if the BER is higher than a referencevalue, the error detection/correction circuit 126 may determine that theerroneous bits in the corresponding sector are uncorrectable and thecorresponding sector is marked “fail.” If the BER is lower than orequals to the reference value, the error detection/correction circuit126 may determine that the corresponding sector is correctable or thecorresponding sector can be marked “pass.”

The error detection/correction circuit 126 may perform error detectionand correction operations successively on all read data. When a sectorincluded in the read data is correctable, the error detection/correctioncircuit 126 may move on to the next sector to check as to whether anerror correction operation is needed on the next sector. Upon completionof the error detection and correction operations on all the read data inthis manner, the error detection/correction circuit 126 may acquireinformation as to which sector is deemed uncorrectable in the read data.The error detection/correction circuit 126 may provide such information(e.g., address of uncorrectable bits) to the processor 124.

The memory system 100 may also include a bus 127 to provide a channelbetween the constituent elements 121, 122, 124, 125, and 126 of thememory controller 120. The bus 127 may include, for example, a controlbus for delivering various types of control signals and commands, and adata bus for delivering various types of data.

By way of example, FIG. 1 illustrates the above-mentioned constituentelements 121, 122, 124, 125, and 126 of the memory controller 120. It isnoted that some of those elements illustrated in the drawings may beomitted, or some of the above-mentioned constituent elements 121, 122,124, 125, and 126 of the memory controller 120 may be integrated into asingle element. In addition, in some implementations, one or more otherconstituent elements may be added to the above-mentioned constituentelements of the memory controller 120.

FIG. 2 is a block diagram schematically illustrating a memory device 110based on an exemplary embodiment of the disclosed technology.

In some implementations, the memory device 110 based on an embodiment ofthe disclosed technology may include a memory cell array 210, an addressdecoder 220, a read/write circuit 230, a control logic 240, and avoltage generation circuit 250.

The memory cell array 210 may include multiple memory blocks BLK1-BLKz,where z is a natural number equal to or larger than 2.

In the multiple memory blocks BLK1-BLKz, multiple word lines WL andmultiple bit lines BL may be disposed in rows and columns, and multiplememory cells MC may be arranged.

The multiple memory blocks BLK1-BLKz may be connected to the addressdecoder 220 through the multiple word lines WL. The multiple memoryblocks BLK1-BLKz may be connected to the read/write circuit 230 throughthe multiple bit lines BL.

Each of the multiple memory blocks BLK1-BLKz may include multiple memorycells. For example, the multiple memory cells are nonvolatile memorycells. In some implementations, such nonvolatile memory cells may bearranged in a vertical channel structure.

The memory cell array 210 may be configured as a memory cell arrayhaving a two-dimensional structure. In some implementations, the memorycell array 210 may be arranged in a three-dimensional structure.

Each of the multiple memory cells included in the memory cell array 210may store at least one bit of data. For example, each of the multiplememory cells included in the memory cell array 210 may be a single-levelcell (SLC) configured to store one bit of data. As another example, eachof the multiple memory cells included in the memory cell array 210 maybe a multi-level cell (MLC) configured to store two bits of data permemory cell. As another example, each of the multiple memory cellsincluded in the memory cell array 210 may be a triple-level cell (TLC)configured to store three bits of data per memory cell. As yet anotherexample, each of the multiple memory cells included in the memory cellarray 210 may be a quad-level cell (QLC) configured to store four bitsof data per memory cell. As still another example, the memory cell array210 may include multiple memory cells, each of which may be configuredto store at least five bits of data per memory cell.

Referring to FIG. 2, the address decoder 220, the read/write circuit230, the control logic 240, and the voltage generation circuit 250 mayoperate as peripheral circuits configured to drive the memory cell array210.

The address decoder 220 may be connected to the memory cell array 210through the multiple word lines WL.

The address decoder 220 may be configured to operate in response tocommand and control signals of the control logic 240.

The address decoder 220 may receive addresses through an input/outputbuffer inside the memory device 110. The address decoder 220 may beconfigured to decode a block address among the received addresses. Theaddress decoder 220 may select at least one memory block based on thedecoded block address.

The address decoder 220 may receive a read voltage Vread and a passvoltage Vpass from the voltage generation circuit 250.

The address decoder 220 may, during a read operation, apply the readvoltage Vread to a selected word line WL inside a selected memory blockand apply the pass voltage Vpass to the remaining non-selected wordlines WL.

The address decoder 220 may apply a verification voltage generated bythe voltage generation circuit 250 to a selected word line WL inside aselected memory block, during a program verification operation, and mayapply the pass voltage Vpass to the remaining non-selected word linesWL.

The address decoder 220 may be configured to decode a column addressamong the received addresses. The address decoder 220 may transmit thedecoded column address to the read/write circuit 230.

The memory device 110 may perform the read operation and the programoperation page by page. Addresses received when the read operation andthe program operation are requested may include at least one of a blockaddress, a row address, and a column address.

The address decoder 220 may select one memory block and one word linebased on the block address and the row address. The column address maybe decoded by the address decoder 220 and provided to the read/writecircuit 230.

The address decoder 220 may include at least one of a block decoder, arow decoder, a column decoder, and an address buffer.

The read/write circuit 230 may include multiple page buffers PB. Theread/write circuit 230 may operate as a “read circuit” when the memorycell array 210 performs a read operation, and may operate as a “writecircuit” when the memory cell array 210 performs a write operation.

The above-mentioned read/write circuit 230 is also referred to as a pagebuffer circuit including multiple page buffers PB, or a data registercircuit. The read/write circuit 230 may include a data buffer thatparticipates in a data processing function and, in some implementations,may further include a cache buffer for data caching.

The multiple page buffers PB may be connected to the memory cell array210 through the multiple bit lines BL. In order to detect or sense thethreshold voltage Vth of the memory cells during a read operation and aprogram verification operation, the multiple page buffers PB maycontinuously supply a sensing current to the bit lines BL connected tothe memory cells to detect, at a sensing node, a change proportional tothe amount of current that varies depending on the program state of acorresponding memory cell, and may hold or latch the correspondingvoltage as sensing data.

The read/write circuit 230 may operate in response to page buffercontrol signals output from the control logic 240.

During a read operation, the read/write circuit 230 senses a voltagevalue of a memory cell and the voltage value is read out as data. Theread/write circuit 230 temporarily stores the retrieved data, andoutputs the data DATA to the input/output buffer of the memory device110. In an embodiment, the read/write circuit 230 may include a columnselection circuit, in addition to the page buffers PB or page registers.

The control logic 240 may be connected to the address decoder 220, theread/write circuit 230, and the voltage generation circuit 250. Thecontrol logic 240 may receive a command CMD and a control signal CTRLthrough the input/output buffer of the memory device 110.

The control logic 240 may be configured to control the overall operationof the memory device 110 in response to the control signal CTRL. Thecontrol logic 240 may output a control signal for adjusting the voltagelevel of sensing nodes of multiple page buffers PB to a pre-chargevoltage level.

The control logic 240 may control the read/write circuit 230 to performa read operation in the memory cell array 210. The voltage generationcircuit 250 may generate a read voltage Vread and a pass voltage Vpass,which are used during the read operation, in response to a voltagegeneration circuit control signal output from the control logic 240.

A memory block BLK disposed in the memory device 110 may includemultiple pages PG. In some implementations, a plurality of memory cellsarranged in columns form memory cell strings, and a plurality of memorycells arranged in rows form memory blocks. Each of the multiple pages PGis coupled to one of word lines WL, and each of the memory cell stringsSTR is coupled to one of bit lines BL.

In the memory block BLK, multiple word lines WL and multiple bit linesBL may be arranged in rows and columns. For example, each of themultiple word lines WL may be arranged in the row direction, and each ofthe multiple bit lines BL may be arranged in the column direction.Alternatively, each of the multiple word lines WL may be arranged in thecolumn direction, and each of the multiple bit lines BL may be arrangedin the row direction.

In some implementations, the multiple word lines WL and the multiple bitlines BL may intersect with each other and electrically isolated fromeach other, thereby addressing a single memory cell in the array ofmultiple memory cells MC. In some implementations, each memory cell MCmay include a transistor TR that includes a material layer that can holdan electrical charge.

For example, the transistor TR arranged in each memory cell MC mayinclude a drain, a source, and a gate. The drain (or source) of thetransistor TR may be connected to the corresponding bit line BL directlyor via another transistor TR. The source (or drain) of the transistor TRmay be connected to the source line (which may be the ground) directlyor via another transistor TR. The gate of the transistor TR may includea floating gate (FG) surrounded by an insulator, and a control gate (CG)to which a gate voltage is applied from a word line WL.

In each of the multiple memory blocks BLK1-BLKz, a first selection line(also referred to as a source selection line or a drain selection line)may be additionally arranged outside the first outermost word line,which is closer to the read/write circuit 230 among two outermost wordlines, and a second selection line (also referred to as a drainselection line or a source selection line) may be additionally arrangedoutside the other second outermost word line.

In some implementations, at least one dummy word line may beadditionally arranged between the first outermost word line and thefirst selection line. In addition, at least one dummy word line may beadditionally arranged between the second outermost word line and thesecond selection line.

A read operation and a program operation (write operation) of the memoryblock may be performed page by page, and an erasure operation may beperformed memory block by memory block.

FIG. 3 is a diagram illustrating a structure of word lines WL and bitlines BL of a memory device 110 based on an exemplary embodiment of thedisclosed technology.

Referring to FIG. 3, the memory device 110 has a core area in whichmemory cells MC are arranged, and an auxiliary area (the remaining areaother than the core area) to include circuitry that is used to performthe operations of the memory cell array 210.

In the core area, a certain number of memory cells arranged in onedirection can be called “page” PG, and a certain number of memory cellsthat are coupled in series can be called “memory cell string” STR.

The word lines WL1-WL9 may be connected to a row decoder 310. The bitlines BL may be connected to a column decoder 320. A data register 330,which corresponds to the read/write circuit 230 of FIG. 2, may existbetween the multiple bit lines BL and the column decoder 320.

The multiple word lines WL1-WL9 may correspond to multiple pages PG.

For example, each of the multiple word lines WL1-WL9 may correspond toone page PG as illustrated in FIG. 3. When each of the multiple wordlines WL1-WL9 has a large size, each of the multiple word lines WL1-WL9may correspond to at least two (e.g., two or four) pages PG. Each pagePG is the smallest unit in a program operation and a read operation, andall memory cells MC within the same page PG may perform simultaneousoperations when conducting a program operation and a read operation.

The multiple bit lines BL may be connected to the column decoder 320. Insome implementations, the multiple bit lines BL may be divided intoodd-numbered bit lines BL and even-numbered bit lines BL such that apair of odd-numbered bit line and even-numbered bit line is coupled incommon to a column decoder 320.

In accessing a memory cell MC, the row decoder 310 and the columndecoder 320 are used to locate a desired memory cell based on theaddress.

In some implementations, the data register 330 plays an important rolebecause all data processing by the memory device 110, including programand read operations, occurs via the data register 330. If dataprocessing by the data register 330 is delayed, all of the other areasneed to wait until the data register 330 finishes the data processing,degrading the overall performance of the memory device 110.

Referring to the example illustrated in FIG. 3, in one memory cellstring STR, multiple transistors TR1-TR9 may be connected to multipleword lines WL1-WL9, respectively. In some implementations, the multipletransistors TR1-TR9 correspond to memory cells MC. In this example, themultiple transistors TR1-TR9 include control gates CG and floating gatesFG.

The multiple word lines WL1-WL9 include two outermost word lines WL1 andWL9. A first selection line DSL may be additionally arranged outside thefirst outermost word line WL1, which is closer to the data register 330and has a shorter signal path compared to the other outermost word lineWL9. A second selection line SSL may be additionally arranged outsidethe other second outermost word line WL9.

The first selection transistor D-TR, which is controlled to turn on/offby the first selection line DSL, has a gate electrode connected to thefirst selection line DSL, but includes no floating gate FG. The secondselection transistor S-TR, which is controlled to turn on/off by thesecond selection line SSL, has a gate electrode connected to the secondselection line SSL, but includes no floating gate FG.

The first selection transistor D-TR is used as a switch circuit thatconnects the corresponding memory cell string STR to the data register330. The second selection transistor S-TR is used as a switch thatconnects the corresponding memory cell string STR to the source line SL.That is, the first selection transistor D-TR and the second selectiontransistor S-TR can be used to enable or disable the correspondingmemory cell string STR.

In some implementations, the memory system 100 applies a predeterminedturn-on voltage Vcc to the gate electrode of the first selectiontransistor D-TR, thereby turning on the first selection transistor D-TR,and applies a predetermined turn-off voltage (e.g., 0V) to the gateelectrode of the second selection transistor S-TR, thereby turning offthe second selection transistor S-TR.

The memory system 100 turns on both the first and second selectiontransistors D-TR and S-TR during a read operation or a verificationoperation. Accordingly, during a read operation or a verificationoperation, an electric current may flow through the corresponding memorycell string STR and drain to the source line SL, which corresponds tothe ground, such that the voltage level of the bit line BL can bemeasured. However, during a read operation, there may be a timedifference in the on/off timing between the first selection transistorD-TR and the second selection transistor S-TR.

The memory system 100 may apply a predetermined voltage (e.g., +20V) tothe substrate through a source line SL during an erasure operation. Thememory system 100 applies a certain voltage to allow both the firstselection transistor D-TR and the second selection transistor S-TR tofloat during an erasure operation. As a result, the applied erasurevoltage can remove electrical charges from the floating gates FG of theselected memory cells.

FIG. 4 is a diagram illustrating a schematic structure of the memorysystem 100 according to an exemplary embodiment of the presentdisclosure.

Referring to FIG. 4, the memory device 110 of the memory system 100 mayinclude a plurality of memory areas MEM_AREA.

Each memory area MEM_AREA may include N (N is a natural number of 2 ormore) of sub-areas SUB_AREA.

Each sub-area SUB_AREA may be a bad sub-area or a normal sub-area. Thebad sub-area may be a sub-area in which an unrecoverable defect hasoccurred, and the normal sub-area may be a sub-area in which no defector recoverable defect has occurred. In this case, the unrecoverable orrecoverable defect may already exist in the manufacturing process, ormay occur in the process of performing a memory operation (e.g., read,write, or erase operation) during runtime.

If data is stored in the bad sub-area, there may be a high probabilitythat an error may occur in the operation of reading data stored in thebad sub-area or writing data to the bad sub-area. Accordingly, thememory controller 120 of the memory system 100 manages the plurality ofmemory areas MEM_AREA so as not to access the bad sub-area existing inthe memory device 110.

To this end, the memory controller 120 may create a bad memory areareplacement table BAD_TBL including state information of the bad memoryarea among the plurality of memory areas MEM_AREA. The bad memory areamay be a memory area MEM_AREA having at least one bad sub-area.

The bad memory area replacement table BAD_TBL may be stored in theworking memory 125, in one embodiment. In another embodiment, the badmemory area replacement table BAD_TBL may be stored in the memory device110 and then loaded into the working memory 125.

Hereinafter, the operation in which the memory system 100 manages thebad memory area using the bad memory area replacement table BAD_TBL willbe described.

FIG. 5 is a flowchart illustrating an operation of the memory system 100according to an exemplary embodiment of the present disclosure.

Referring to FIG. 5, the memory controller 120 of the memory system 100may create a bad memory area replacement table BAD_TBL including stateinformation of a bad memory area among the plurality of memory areasMEM_AREA (S510). In this case, the state information of the bad memoryarea may be information indicating which sub-area is bad sub-area andwhich sub-area is normal sub-area among a plurality of sub-areasincluded in the bad memory area.

All or part of the plurality of memory areas MEM_AREA may be an initialbad memory area in which the bad sub-area is generated during themanufacturing process. The memory controller 120 may, for example, reada specific byte of a spare area in a corresponding memory area and checkwhether the corresponding memory area is the initial bad memory area. Inaddition, when creating the bad memory area replacement table BAD_TBL,the memory controller 120 may include state information on the initialbad memory area in the bad memory area replacement table BAD_TBL.

In some embodiments of the present disclosure, the created bad memoryarea replacement table BAD_TBL is not in a read-only state, but in astate in which read and write are possible. Accordingly, the memorycontroller 120 may modify the bad memory area replacement table BAD_TBLeven after the bad memory area replacement table BAD_TBL is created.

In addition, the memory controller 120 may monitor whether at least oneruntime bad memory area, which is a bad memory area in which at leastone bad sub-area has occurred, has occurred during runtime after thememory controller 120 starts operation (S520). For example, when amemory operation such as an erase operation, read operation, or programoperation for a specific memory area fails during runtime, the memorycontroller 120 may monitor whether the runtime bad memory area hasoccurred by verifying whether an unrecoverable defect such as anuncorrectable error correction code (UECC) has occurred in thecorresponding memory area.

The memory controller 120 may analyze the monitoring result performed instep S520, and may determine whether at least one runtime bad memoryarea has occurred (S530).

In the case that no runtime bad memory area has occurred (S530—N), thememory controller 120 may loop back to step S520 to monitor againwhether any runtime bad memory area has occurred.

On the other hand, in the case that at least one runtime bad memory areaoccurs (S530—Y), the memory controller 120 may add state information ofthe generated runtime bad memory area to the bad memory area replacementtable BAD_TBL (S540). Thereafter, the memory controller 120 may managethe runtime bad memory area based on the bad memory area replacementtable BAD_TBL, and reuse the normal sub-area included in the runtime badmemory area.

In addition, the memory controller 120 may remap, based on the badmemory area replacement table BAD_TBL, the bad sub-area included in atarget bad memory area among the runtime bad memory areas added to thebad memory area replacement table BAD_TBL to a normal sub-area includedin one of remaining bad memory areas other than the target bad memoryarea among the bad memory areas added to the bad memory area replacementtable BAD_TBL (S550). Further, the memory controller 120 may loop backto step S520 to monitor again whether any runtime bad memory area hasoccurred.

As described above, by remapping the bad sub-area included in the targetbad memory area to another normal sub-area, the target bad memory areacan be reused as a memory area capable of normally storing data.Therefore, it is possible to minimize the loss of storage capacity thatwould occur when the entire runtime bad memory area is not used.

Hereinafter, the operation of the memory system 100 in FIGS. 4 and 5will be described in greater detail below. First, the structure of thememory area MEM_AREA will be described.

In one embodiment, N sub-areas disposed in the memory area MEM_AREA maybe included in one memory block described in FIGS. 2 and 4, but may bedistributed in different memory blocks or in different physicallocations.

FIG. 6 is a diagram illustrating an exemplary structure of a memory areaMEM_AREA according to embodiments of the present disclosure.

The memory device 110 of the memory system 100 may include a pluralityof planes.

The plurality of planes may be divided into one or more plane groupsdisposed in different memory dies (not shown) according to someembodiments. For example, the memory device 110 may include four memorydies, each of the four memory dies may include 4 planes (16 planes intotal).

Referring to FIG. 6, each of the N sub-areas SUB_AREA included in onememory area MEM_AREA may be located on a different plane among theplurality of planes described above. That is, the N sub-areas SUB_AREA601 a, 601 b, 601 c, . . . , 601 n included in a memory area MEM_AREA611 may be logically included in one common memory area MEM_AREA, butmay be physically distributed across different memory areas.

FIG. 7 is a flowchart illustrating an operation of creating a bad memoryarea replacement table BAD_TBL by the memory system 100 according to anexemplary embodiment of the present disclosure.

Referring to FIG. 7, the memory controller 120 of the memory system 100may check the firmware run by the memory controller 120 (S710) for anupdate status of the firmware. The firmware may be run to control theoperation of the memory controller 120, and in particular, may be usedto manage the bad memory area replacement table BAD_TBL.

The memory controller 120 may determine whether the firmware checked instep S710 has been updated (S720). For example, the memory controller120 may determine whether the firmware has been updated by checking aflag indicating update status of the firmware or whether a version ofthe firmware is changed during booting up of the memory system 100.

When the memory controller 120 determines that the firmware is updated(S720—Y), the memory controller 120 may create the bad memory areareplacement table BAD_TBL (S730). If a previously created bad memoryarea replacement table exists, the memory controller 120 may delete thepreviously created bad memory area replacement table, or may overwritethe previously created bad memory area replacement table with a newlycreated bad memory replacement table BAD_TBL.

Hereinafter, it will be described an exemplary structure for the badmemory area replacement table BAD_TBL and a process of changing the badmemory area replacement table BAD_TBL according to the occurrence of thebad memory area with reference to FIGS. 8 to 13.

FIG. 8 is a diagram illustrating an exemplary structure for a bad memoryarea replacement table BAD_TBL according to one embodiment of thepresent disclosure.

Referring to FIG. 8, when the bad memory area replacement table BAD_TBLis created, the bad memory area replacement table BAD_TBL may includestate information on K (K is a natural number) bad memory areasMEM_AREA_1, MEM_AREA_2, . . . , MEM_AREA_K.

The state information for each bad memory area may include N stateentries STATE_ENTRY corresponding to each of the N sub-areas included inthe corresponding bad memory area. In this case, N indexes IDX_1, IDX_2,IDX_3, . . . , IDX_N−1, IDX_N may be used to distinguish the N stateentries STATE_ENTRY.

Each state entry STATE_ENTRY may indicate whether a correspondingsub-area is a bad sub-area, or each state entry STATE_ENTRY may includeinformation on the memory area MEM_AREA in which the correspondingsub-area is remapped.

In this case, each state entry STATE_ENTRY may be set to a first value(e.g., 0xFFFF) when the corresponding sub-area is the bad sub-area, andeach state entry STATE_ENTRY may be set to another value other than thefirst value when the corresponding sub-area is a normal sub-area.

If a sub-area corresponding to a state entry STATE_ENTRY is a normalsub-area, the sub-area may be remapped to another memory area MEM_AREA,but there may be no memory area to be remapped.

If there is no memory area to which the corresponding sub-area may beremapped, the corresponding state entry STATE_ENTRY may be set to asecond value (e.g., 0x0 or 0x0000). On the other hand, when thecorresponding sub-area is remapped to another memory area MEM_AREA, thecorresponding state entry STATE_ENTRY may be set to the address value ofthe remapped memory area MEM_AREA.

FIG. 9 is a diagram illustrating an example for creating the bad memoryarea replacement table BAD_TBL of FIG. 8.

Referring to FIG. 9, in the case that the sub-area corresponding to thestate entry STATE_ENTRY is a bad sub-area, the value of thecorresponding state entry STATE_ENTRY may be set to 0xFFFF. On the otherhand, if the sub-area corresponding to the state entry STATE_ENTRY is anormal sub-area, the value of the corresponding state entry STATE_ENTRYmay indicate information on the remapped memory area MEM_AREA.

In FIG. 9, the value of the state entry STATE_ENTRY corresponding to thefirst index IDX_1 of the first memory area MEM_AREA_1 is 0xFFFF (65535in decimal). Accordingly, this indicates that in the first memory areaMEM_AREA_1, the sub-area corresponding to the first index IDX_1 of thecorresponding state entry STATE_ENTRY is a bad sub-area.

On the other hand, the value of the state entry STATE_ENTRYcorresponding to the N-th index IDX_N included in the first memory areaMEM_AREA_1 is 0x009D, i.e., different from 0xFFFF (denoted by the symbol“!=” or “not equal to”). Accordingly, this indicates that in the firstmemory area MEM_AREA_1, the sub-area corresponding to the N-th indexIDX_N of the state entry STATE_ENTRY is a normal sub-area, and thecorresponding sub-area has been remapped to the memory area with theaddress value of 0x009D.

FIG. 10 and FIG. 11 are diagrams illustrating an exemplary operation foradding state information on a runtime bad memory area to the bad memoryarea replacement table BAD_TBL of FIG. 9.

Referring to FIG. 10, in the case that the (K+1)th memory areaMEM_AREA_K+1 becomes a runtime bad memory area, state information on the(K+1)th memory area MEM_AREA_K+1 may be added to the bad memory areareplacement table BAD_TBL. In an exemplary embodiment, when anunrecoverable defect is detected by the memory controller 120 duringmemory operation, for example, while a read operation, a programoperation, or an erase operation is being executed for the (K+1)thmemory area MEM_AREA_K+1, the memory controller 120 may add the stateinformation on the (K+1)th memory area MEM_AREA_K+1 to the bad memoryarea replacement table BAD_TBL.

In FIG. 10, the value of the state entry STATE_ENTRY corresponding tothe first index IDX_1 of the (K+1)th memory area MEM_AREA_K+1 is 0xFFFF.Accordingly, this indicates that in the (K+1)th memory areaMEM_AREA_K+1, the sub-area corresponding to the first index IDX_1 of thecorresponding state entry STATE_ENTRY is the bad sub-area.

On the other hand, the value of the state entry STATE_ENTRYcorresponding to the second index IDX_2 of the (K+1)th memory areaMEM_AREA_K+1 is 0x0 (or 0x0000). Accordingly, this indicates that in theK+1th memory area MEM_AREA_K+1, the sub-area corresponding to the secondindex IDX_2 of the corresponding state entry STATE_ENTRY is the normalsub-area. However, since the value of the corresponding state entrySTATE_ENTRY is 0x0 (or 0x0000), the corresponding sub-area has not yetbeen remapped to another bad memory area.

Referring to FIG. 11, in the case that a (K+2)th memory areaMEM_AREA_K+2 becomes a runtime bad memory area, the state information onthe (K+2)th memory area MEM_AREA_K+2 may be added to the bad memory areareplacement table BAD_TBL.

In FIG. 11, the value of the state entry STATE_ENTRY corresponding tothe first index IDX_1 of the (K+2)th memory area MEM_AREA_K+2 is 0x0 (or0x0000). Accordingly, this indicates that in the (K+2)th memory areaMEM_AREA_K+2, the sub-area corresponding to the first index IDX_1 of thecorresponding state entry STATE_ENTRY is the normal sub-area.

On the other hand, the value of the state entry STATE_ENTRYcorresponding to the third index IDX_3 of the (K+2)th memory areaMEM_AREA_K+2 is 0xFFFF. Accordingly, this indicates that in the (K+2)thmemory area MEM_AREA_K+2, the sub-area corresponding to the third indexIDX_3 of the corresponding state entry STATE_ENTRY is the bad sub-area.

FIG. 12 is a diagram illustrating an exemplary operation for remappingthe bad sub-area included in a target bad memory area added in FIG. 11.

In FIG. 12, it is assumed that the (K+2)th memory area MEM_AREA_K+2 isthe target bad memory area.

The memory controller 120 of the memory system 100 may remap the badsub-area included in the (K+2)th memory area MEM_AREA_K+2 as the targetbad memory area to the normal sub-area included in the (K+1)th memoryarea MEM_AREA_K+1, which is one of the remaining memory areas other thanthe target bad memory area among the bad memory areas added to the badmemory area replacement table BAD_TBL.

In FIG. 12, only the case in which the bad sub-area included in the(K+2)th memory area MEM_AREA_K+2 is remapped to the normal sub-areaincluded in the (K+1)th memory area MEM_AREA_K+1 is illustrated.However, it will be appreciated that the bad sub-area included in the(K+2)th memory area MEM_AREA_K+2 may be remapped to the normal sub-areaincluded in the other memory areas, e.g., MEM_AREA_1, MEM_AREA_2, andMEM_AREA_K.

In FIG. 12, among the bad sub-areas included in the (K+2)th memory areaMEM_AREA_K+2 as the bad memory area, the sub-area corresponding to thethird index IDX_3 may be remapped to the normal sub-area correspondingto the third index IDX_3 among the normal sub-areas included in the(K+1)th memory area MEM_AREA_K+1.

In this case, the value of the state entry STATE_ENTRY corresponding tothe third index IDX_3 of the (K+1)th memory area MEM_AREA_K+1 may be setto 0x01A1, which is the address of the (K+2)th memory area MEM_AREA_K+2.

In addition, the sub-area corresponding to the (N−1)th index IDX_N−1among the bad sub-areas included in the (K+2)th memory areaMEM_AREA_K+2, which is the bad memory area, may be remapped to thesub-area corresponding to the (N−1)th index IDX_N−1 among the normalsub-areas included in the (K+1)th memory area MEM_AREA_K+1.

In this case, the value of the state entry STATE_ENTRY corresponding tothe (N−1)th sub-area SUB_AREA_N−1 of the (K+1)th memory areaMEM_AREA_K+1 may be set to 0x01A1, which is the address of the (K+2)thmemory area MEM_AREA_K+2.

FIG. 13 is a diagram illustrating an operation of deleting the stateinformation of the target bad memory area for which remapping has beencompleted in FIG. 12 from the bad memory area replacement table BAD_TBL.

In the case that all bad sub-areas included in the target bad memoryarea are remapped to the normal sub-area included in another bad memoryareas different from the target bad memory area, the memory controller120 of the memory system 100 may delete the state information of thetarget bad memory area from the bad memory area replacement tableBAD_TBL.

This is because all bad sub-areas included in the target bad memory areahave been remapped to other normal sub-area, thereby it is possible toprevent the problem of accessing any bad sub-areas when accessing thetarget bad memory area.

In FIG. 13, the memory controller 120 of the memory system 100 maydelete state information of the (K+2)th memory area MEM_AREA_K+2, whichis the target bad memory area, from the bad memory area replacementtable BAD_TBL. In this case, when accessing the K+2th memory areaMEM_AREA_K+2, the memory controller 120 may determine which of thesub-areas among the sub-areas included in the (K+2)th memory areaMEM_AREA_K+2 has been remapped to the normal sub-area of another badmemory area (e.g., bad memory area MEM_AREA_K+1), by using the stateinformation of the bad memory area replacement table BAD_TBL.

FIG. 14 is a diagram illustrating a method of operating the memorysystem 100 according to an exemplary embodiment of the presentdisclosure.

As described above, the memory system 100 may include the memory device110 having a plurality of memory areas MEM_AREA. In addition, eachmemory area MEM_AREA may include N (N is a natural number of 2 or more)sub-areas SUB_AREA. Each sub-area SUB_AREA may be a bad sub-area inwhich an unrecoverable defect has occurred or a normal sub-area in whichno defect or recoverable defect has occurred.

Referring to FIG. 14, the method of operating the memory system 100 mayinclude creating a bad memory area replacement table BAD_TBL includingstate information on a bad memory area, which is a memory area in whichat least one (i.e., one or more) of the bad sub-areas has occurred,among the plurality of memory areas MEM_AREA included in the memorydevice 110 (S1410).

Further, the method of operating the memory system 100 may includeadding, when at least one runtime bad memory area (e.g., runtime badarea MEM_AREA_K+1 in FIG. 10 or runtime bad areas MEM_AREA_K+1 andMEM_AREA_K+2 in FIG. 12) among the plurality of memory areas occurs,state information of the bad memory area occurred during runtime to thebad memory area replacement table BAD_TBL (S1420).

In addition, the method of operating the memory system 100 may includeremapping, based on the bad memory area replacement table BAD_TBL, thebad sub-area included in a target memory area (e.g., MEM_AREA_K+2 inFIG. 12) among the runtime bad memory areas added to the bad memory areareplacement table BAD_TBL to the normal sub-area included in one ofremaining bad memory areas except for (excluding) the target bad memoryarea among the bad memory areas added to the bad memory area replacementtable BAD_TBL (S1430).

In one embodiment, the memory device 110 may include a plurality ofplanes, each of the N sub-areas SUB_AREA may be located in a differentplane among the plurality of planes.

In one embodiment, the bad memory area replacement table BAD_TBL may becreated when the firmware for managing the bad memory area replacementtable is updated.

The state information of the bad memory area included in the bad memoryarea replacement table BAD_TBL may include N state entries STATE_ENTRY,each of the N state entries STATE_ENTRY corresponding to one of the Nsub-areas SUB_AREA included in the bad memory area. In this case, eachof the N state entries STATE_ENTRY may indicate whether the sub-areacorresponding to each state entry is the bad sub-area, or each of the Nstate entries STATE_ENTRY may include state information on the memoryarea in which the sub-area corresponding to each state entry isremapped.

In one embodiment, the state entry having the first value (e.g., 0xFFFF)among N state entries may indicate that the sub-area corresponding tothe corresponding state entry is the bad sub-area.

In another embodiment, the state entry having the second value(different from the first value) among N state entries may indicate thatthere is no memory area to which the sub-area corresponding to thecorresponding state entry is remapped.

The remapping the bad sub-area included in the target bad memory areamay include deleting the state information of the target bad memory areafrom the bad memory area replacement table BAD_TBL, when all badsub-areas included in the target bad memory area have been remapped tothe normal sub-area included in one of remaining bad memory areas otherthan the target bad memory area among the bad memory area added to thebad memory area replacement table BAD_TBL.

In some implementations, the operation of the memory controller 120described above may be controlled by the control circuit 123, and may beperformed in such a manner that the processor 124 executes (drives)firmware in which the overall operation of the memory controller 120 isprogrammed.

FIG. 15 is a diagram illustrating the configuration of a computingsystem 1500 according to an exemplary embodiment of the disclosedtechnology.

Referring to FIG. 15, the computing system 1500 based on an embodimentof the disclosed technology may include: a memory system 100electrically connected to a system bus 1560; a CPU 1510 configured tocontrol the overall operation of the computing system 1500; a RAM 1520configured to store data and information associated with operations ofthe computing system 1500; a user interface/user experience (UI/UX)module 1530 configured to provide the user with a user environment; acommunication module 1540 configured to communicate with an externaldevice as a wired and/or wireless type; and a power management module1550 configured to manage power used by the computing system 1500.

The computing system 1500 may be a personal computer (PC) or may be anyone or more of a mobile terminal, such as a smartphone, a tablet orvarious electronic devices.

The computing system 1500 may further include a battery for supplying anoperating voltage, and may further include an application chipset, agraphic-related module, a camera image processor, and a DRAM among otherpossible components.

The memory system 100 may include any combination of one or more devicesconfigured to store data in, e.g., a magnetic disk such as a hard diskdrive (HDD), a nonvolatile memory such as a solid state drive (SSD), auniversal flash storage device, or an embedded MMC (eMMC) device. Thenon-volatile memory may include a read only memory (ROM), a programmableROM (PROM), an electrically programmable ROM (EPROM), an electricallyerasable and programmable ROM (EEPROM), a flash memory, a phase-changeRAM (PRAM), a magnetic RAM (MRAM), a resistive RAM (RRAM), aferroelectric RAM (FRAM), and the like. In addition, the memory system100 may be implemented as storage devices of various types and mountedinside various electronic devices.

According to exemplary embodiments of the disclosed technology describedabove, the operation delay time of the memory system may beadvantageously reduced or minimized. In addition, according toembodiments of the present disclosure, overhead occurring in the processof calling a specific function may be advantageously reduced orminimized. Although various exemplary embodiments of the presentdisclosure have been described with particular specifics and varyingdetails for illustrative purposes, those skilled in the art willappreciate that various alternatives, modifications, changes, additionsand substitutions may be made without departing from the scope of thepresent disclosure as defined in the following claims.

What is claimed is:
 1. A memory system comprising: a memory device including a plurality of memory areas, each memory area comprising N sub-areas, N being a natural number greater than or equal to 2, each sub-area being one of a bad sub-area having an unrecoverable defects or a normal sub-area having no defect or recoverable defect; and a memory controller for communicating with the memory device and controlling the memory device; wherein the memory controller is configured to: create a bad memory area replacement table including state information on a bad memory area among the plurality of memory areas, the bad memory area comprising at least one bad sub-area, add, when at least one runtime bad memory area among the plurality of memory areas occur, state information on the at least one runtime bad memory area to the bad memory area replacement table; and remap, based on the bad memory area replacement table, a bad sub-area included in a target bad memory area among the at least one runtime bad memory area added to the bad memory area replacement table, to a normal sub-area included in one of remaining bad memory areas other than the target bad memory area among the plurality of bad memory areas added to the bad memory area replacement table.
 2. The memory system of claim 1, wherein the memory device comprises a plurality of planes, each of the N sub-areas being located in a different plane among the plurality of planes.
 3. The memory system of claim 1, wherein the memory controller is further configured to: determine whether a firmware configured to manage the bad memory area replacement table has been updated; and create the bad memory area replacement table when the firmware has been updated.
 4. The memory system of claim 1, wherein the state information of the bad memory area included in the bad memory area replacement table comprises N state entries, each of the N state entries corresponding to one of the N sub-areas included in the bad memory area, and each of the N state entries being configured to indicate (i) whether a sub-area corresponding to each state entry is a bad sub-area or (ii) information on a memory area to which a sub-area corresponding to each state entry is remapped.
 5. The memory system of claim 4, wherein a state entry having a first value among the N state entries is configured to indicate that the sub-area corresponding to the corresponding state entry is the bad sub-area.
 6. The memory system of claim 4, wherein a state entry having a second value among the N state entries indicates that there is no memory area to which the sub-area corresponding to the corresponding state entry is remapped.
 7. The memory system of claim 1, wherein, when all bad sub-areas included in a target bad memory area are remapped to one of the normal sub-area included in one of remaining bad memory areas excluding the target bad memory area among the bad memory area added to the bad memory area replacement table, the memory controller is configured to delete the state information of the target bad memory area from the bad memory area replacement table.
 8. A method of operating a memory system including a memory device having a plurality of memory areas, each memory area including N sub-areas, N being a natural number greater than or equal to 2, each sub-area being a bad sub-area having an unrecoverable defect or a normal sub-area having no defect or a recoverable defect, the method comprising: creating a bad memory area replacement table including state information of a bad memory area among the plurality of memory areas, the bad memory area including at least one bad sub-area; adding, when at least one runtime bad memory area among the plurality of memory areas occurs, state information of one or more runtime bad memory areas to the bad memory area replacement table; and remapping, based on the bad memory area replacement table, the bad sub-area included in a target memory area among the one or more runtime bad memory areas added to the bad memory area replacement table to a normal sub-area included in one of remaining bad memory areas except for the target bad memory area among a plurality of bad memory areas added to the bad memory area replacement table.
 9. The method of claim 8, wherein the memory device comprises a plurality of planes, each of the N sub-areas being located in a different plane among the plurality of planes.
 10. The method of claim 8, further comprising: determining an update of a firmware configured to manage the bad memory area replacement table, wherein the bad memory area replacement table is created when the firmware has been updated.
 11. The method of claim 8, wherein the state information of the bad memory area included in the bad memory area replacement table comprises N state entries, each of the N state entries corresponding to one of the N sub-areas included in the bad memory area, and each of the N state entries is configured to indicate whether a sub-area corresponding to each state entry is a bad sub-area or information on a memory area to which the sub-area corresponding to each state entry is remapped.
 12. The method of claim 11, wherein a state entry having a first value among the N state entries is configured to indicate that the sub-area corresponding to the corresponding state entry is the bad sub-area.
 13. The method of claim 11, wherein a state entry having a second value among the N state entries is configured to indicate that there is no memory area to which the sub-area corresponding to the corresponding state entry is remapped.
 14. The method of claim 8, wherein remapping the bad sub-area included in a target memory area comprises, when all bad sub-areas included in the target bad memory area are remapped to one of the normal sub-area included in one of remaining bad memory areas excluding the target bad memory area among the bad memory area added to the bad memory area replacement table, deleting the state information of the target bad memory area from the bad memory area replacement table.
 15. A method of creating a bad memory area replacement table in a memory system comprising a memory device and a memory controller, the memory device comprising a plurality of memory areas, each memory area comprising N sub-areas, N being a natural number greater than or equal to 2, each sub-area being a bad sub-area having an unrecoverable defect or a normal sub-area having no defect or a recoverable defect, the method comprising steps of: checking, by the memory controller, a firmware configured to manage the bad memory area replacement table; determining whether the firmware has been updated; in the event that the firmware has been updated: creating the bad memory area replacement table; and in the event that the firmware has not been updated: returning back to determining whether the firmware has been updated, wherein the bad memory area replacement table comprises state information on a bad memory area among the plurality of memory areas.
 16. The method of claim 15, further comprising, when one or more runtime bad memory areas among the plurality of memory areas occur: adding state information on the on the one or more runtime bad memory areas to the bad memory area replacement table; and remapping a bad sub-area included in a target bad memory area among the one or more runtime bad memory areas added to the bad memory area replacement table to a normal sub-area included in one of remaining bad memory areas except for the target bad memory area among a plurality of bad memory areas added to the bad memory area replacement table.
 17. The method of claim 16, wherein the state information comprises N state entries, each one of the N state entries being associated with one of the N sub-areas.
 18. The method of claim 17, wherein a state entry comprises information indicating whether a corresponding sub-area is a bad sub-area or a normal sub-area.
 19. The method of claim 17, wherein remapping the bad sub-area included in the target bad memory area comprises: setting a value of a state entry in the one of remaining bad memory areas corresponding to a state entry of the target bad memory area to an address of the target bad memory area.
 20. The method of claim 15, wherein determining whether the firmware has been updated comprises: checking a flag indicating whether to update the firmware or whether a version of the firmware is changed during a boot-up of the memory system. 